package co.com.colcomercio.util.genArchivos.object;

import java.util.List;

import co.com.colcomercio.util.constants.GeneralConstants;

public class FilaTXT {

	private long fila;
	private List<DatoColumnaTXT> columnas;
	private String filaString;
	
	

	public String getFilaString() {
		return filaString;
	}
	public void setFilaString(String filaString) {
		this.filaString = filaString;
	}
	public long getFila() {
		return fila;
	}
	public void setFila(long fila) {
		this.fila = fila;
	}
	public List<DatoColumnaTXT> getColumnas() {
		return columnas;
	}
	public void setColumnas(List<DatoColumnaTXT> columnas) {
		this.columnas = columnas;
	}

	public void armarFilaString()
	{
		if(!getColumnas().isEmpty())
		{
			filaString = GeneralConstants.BLANK;
			
			for(DatoColumnaTXT datoColumnaTXT : getColumnas())
			{
				if(datoColumnaTXT != null && datoColumnaTXT.getDato() != null)
					concatenarDato(datoColumnaTXT);	
			}
		}
	}
	
	private void concatenarDato(DatoColumnaTXT datoColumnaTXT)
	{
		
		String datoFull = datoColumnaTXT.getDato().trim();
		
		if(datoFull.length() < datoColumnaTXT.getLongitud())
		{
			int caracteresFaltantes = datoColumnaTXT.getLongitud() - datoColumnaTXT.getDato().length(); 
			
			for(int i = 0; i < caracteresFaltantes;  i++)
			{
				if(false == datoColumnaTXT.isCompletarDerecha())
					datoFull = datoColumnaTXT.getCaracterCompletar() + datoFull ;
				else
					datoFull = datoFull + datoColumnaTXT.getCaracterCompletar() ;
			}
		}
		
		if(datoColumnaTXT.getCaracterSeparacion() != null && !datoColumnaTXT.getCaracterSeparacion().equals(GeneralConstants.BLANK))
			filaString = filaString + datoFull + datoColumnaTXT.getCaracterSeparacion();
		else
			filaString = filaString + datoFull ;
	}
}
